iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 17
1

Window物件是client-side JavaScript程式的全域物件。

setTimeout / setInterval

setTimeout(callback_fn(),3000) 設定3秒鐘之後呼叫callback_fn(僅呼叫一次)。
h = setInterval(callback_fn(),3000) 設定每3秒鐘呼叫一次。
使用clearInterval()取消排定的呼叫,clearInterval(h)

如果設為0毫秒,setTimeout(fn(),0),fn並部會直接呼叫,而是放入佇列,在目前待執行的所有事件處理器執行完畢之後,才會執行。(與event loop有關)

Window物件裡的Location物件

Window物件裡的loaction參考了Location物件,代表視窗目前所顯示document的URL。
Document物件裡的loaction也是指向參考同一個Location物件
window.location === Documnet.location: true
Document物件裡URL特性,會在document首次載入後將URL存於此,之後可能再導覽網頁時會在網址加上#xxx(如http://localhost#about)但是document.URL並不會改變(document.URL屬於靜態字串)。

  • 解析URL
    Location物件裡的href會存放URL的完整字串,但可直接利用location.toString()也可取得完整URL字串。
    Location物件存放了完整的分解URL資訊,如下:

  • Location物件裡的assign() / replace()
    assign() / replace() 兩者都可以傳入url引數,然後轉跳到指定的url。

兩者差異: 使用replace()當前頁面後將不會保存在歷史記錄中,這表示使用者將無法使用“上一頁”回到該頁面。

Window物件裡的history

Window物件裡的history的特性參考History物件。
History物件將瀏覽歷程表示為文件與文件狀態的列表,length表示有多少的歷程元素,但因為安全性,sciprt無法存取它。

History物件具有back與forward,兩者的行為與瀏覽器上一頁、下一頁一樣。
History物件go()特性,可以傳入整數引數,直接往前或往後傳入引數的頁數。(history.go(-2):表示上一頁按兩次)

Window物件裡的navigator

Window物件裡的navigator的特性參考Navigator物件。包含了瀏覽器供應商、版本號。
Navigator物件常被用來判斷是在哪個瀏覽器上執行程式的(有助於優化畫面或使用體驗)。(browser-sniffing)

Navigator物件具有四個特性

  1. appName: 瀏覽器的完整名稱
  2. appVersion: 版本號
  3. userAgent: 瀏覽器在USERAGENT HTTP標頭送出的字串。browser-sniffing程式碼通常透過這個。
  4. platform: 識別是哪什麼作業系統下執行的。

特殊特性

  • onLine: 指出瀏覽器目前是否連置網路
  • geolocation: Geolocation物件定義的API用來判斷使用者位置。
  • javaEnabled(): 非標準的方法,判斷瀏覽器是否能夠執行java applets(true / false)。
  • cookiesEanbled(): 非標準方法,判斷瀏覽器是否能夠儲存cookies(true / false)。


上一篇
Day 16: 瀏覽器中的JavaScript (Part 2)
下一篇
Day 18: 使用JavaScript操作文件 (Part 1)
系列文
Javascript 犀牛本-濃縮再濃縮 提煉再提煉30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言